package es.gesfutbol.util;

import java.util.Comparator;

import es.gesfutbol.domini.implementacio.EquipEnLliga;

public class OrdenaEquipsEnLligaPerPuntuacio implements Comparator<Object>{

	@Override
	public int compare(Object o1, Object o2) {
		EquipEnLliga e1 = (EquipEnLliga)o1;
		EquipEnLliga e2 = (EquipEnLliga)o2;
		//Segons la LFP el primer criteri de comparació és la puntuació
		if(e2.getPuntuacio() != e1.getPuntuacio()){
			return e2.getPuntuacio() - e1.getPuntuacio();
		//En cas d'empat anterior, diferencia entre gols marcats i encaixats
		}else if((e2.getGolsAFavorTotals()-e2.getGolsEnContraTotals())!=(e1.getGolsAFavorTotals()-e1.getGolsEnContraTotals())){
			return (e2.getGolsAFavorTotals()-e2.getGolsEnContraTotals())-(e1.getGolsAFavorTotals()-e1.getGolsEnContraTotals());
		//En cas d'empat anterior, diferencia entre gols marcats
		}else if(e2.getGolsAFavorTotals()!=e1.getGolsAFavorTotals()){
			return e2.getGolsAFavorTotals()-e1.getGolsAFavorTotals();
		}else{
			return 0;
		}
		
	}
	
	public boolean equals(Object o) {
	    return this == o;
	}
}
